Tipus | llenguatge de programació ![]() |
---|---|
Versió inicial | 2000 |
Característiques tècniques | |
Sistema operatiu | multiplataforma ![]() |
Plataforma | Multiplataforma |
Equip | |
Creador/s | Microsoft, Hewlett-Packard, Intel |
Desenvolupador(s) | Microsoft ![]() |
Més informació | |
Lloc web | https://www.ecma-international.org/publications-and-standards/standards/ecma-335/ |
Stack Exchange | Etiqueta ![]() |
| |
Common Intermediate Language (amb acrònim anglès CIL), abans anomenat Microsoft Intermediate Language (MSIL) o Intermediate Language (IL),[1] és el conjunt d'instruccions binàries del llenguatge intermedi definit dins de l'especificació de la Common Language Infrastructure (CLI).[2] Les instruccions CIL les executa un entorn d'execució compatible amb CLI, com ara Common Language Runtime. Els idiomes orientats a la CLI es compilen a CIL. CIL és un bytecode orientat a objectes i basat en pila. Els temps d'execució solen compilar instruccions CIL en codi natiu.
CIL es coneixia originalment com Microsoft Intermediate Language (MSIL) durant les versions beta del . idiomes NET. A causa de l'estandardització de C# i CLI, el bytecode ara es coneix oficialment com a CIL.[3] Les definicions de virus de Windows Defender continuen fent referència als binaris compilats amb ell com a MSIL.[4]
Durant la compilació dels llenguatges de programació CLI, el codi font es tradueix al codi CIL en lloc del codi objecte específic de la plataforma o del processador. CIL és un conjunt d'instruccions independent de la CPU i de la plataforma que es pot executar en qualsevol entorn que admeti la infraestructura del llenguatge comú, com ara .NET en temps d'execució a Windows o el temps d'execució Mono multiplataforma. En teoria, això elimina la necessitat de distribuir diferents fitxers executables per a diferents plataformes i tipus de CPU. El codi CIL es verifica per a la seguretat durant el temps d'execució, proporcionant una millor seguretat i fiabilitat que els fitxers executables compilats de manera nativa.[5][6]
El procés d'execució té aquest aspecte: